package com.cykj.order.config;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 支付宝支付配置类（绑定application.yml中的alipay前缀配置）
 * 用于存储支付宝API所需的密钥、网关等参数
 */
@Component
@ConfigurationProperties(prefix = "alipay")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AliPayConfig {

        /** 支付宝开放平台应用ID（沙箱/正式环境的APPID） */
        private String appId;

        /** 应用私钥（在开放平台生成的应用私钥，非支付宝公钥） */
        private String appPrivateKey;

        /** 支付宝公钥（从开放平台获取的支付宝公钥，用于验证签名） */
        private String alipayPublicKey;

        /** 支付宝网关地址（沙箱：https://openapi-sandbox.dl.alipaydev.com/gateway.do；正式：https://openapi.alipay.com/gateway.do） */
        private String gatewayUrl;

        /** 异步通知地址（支付宝服务器主动回调的地址，需公网可访问） */
        private String notifyUrl;

        /** 字符编码（固定为UTF-8） */
        private String charset = "utf-8";

        /** 签名方式（推荐RSA2） */
        private String signType = "RSA2";

        /** 同步跳转地址（支付完成后前端跳转的地址，一般为前端页面） */
        private String returnUrl;
}
